vmx: add the support of XSAVE/XRSTOR to VMX guest
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 29 Sep 2009 10:27:53 +0000 (11:27 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 29 Sep 2009 10:27:53 +0000 (11:27 +0100)
commitfb7925518f22199dd55fb3e204fb609affe7f4cd
tree2372678883881b2d8574e4de9b71b2560df29264
parent341c0e113f2b60c37813708cd91f4507ed08f3f4
vmx: add the support of XSAVE/XRSTOR to VMX guest

XSAVE/XRSTOR manages the existing and future processor extended states
on x86 architecture.

The XSAVE/XRSTOR infrastructure is defined in Intel SDMs:
http://www.intel.com/products/processor/manuals/

The patch uses the classical CR0.TS based algorithm to manage the
states on context switch.  At present, we know 3 bits in the
XFEATURE_ENABLED_MASK: FPU, SSE and YMM.  YMM is defined in Intel AVX
Programming Reference: http://software.intel.com/sites/avx/

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
13 files changed:
tools/libxc/xc_cpuid_x86.c
xen/arch/x86/cpu/intel.c
xen/arch/x86/hvm/hvm.c
xen/arch/x86/hvm/vmx/vmcs.c
xen/arch/x86/hvm/vmx/vmx.c
xen/arch/x86/i387.c
xen/include/asm-x86/cpufeature.h
xen/include/asm-x86/domain.h
xen/include/asm-x86/hvm/hvm.h
xen/include/asm-x86/hvm/vcpu.h
xen/include/asm-x86/hvm/vmx/vmx.h
xen/include/asm-x86/i387.h
xen/include/asm-x86/processor.h